/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jackal;

import java.util.*;
import javax.swing.JOptionPane;

/**
 * Класс для тестирвоания игровой логики
 * 
 * @author pisklenov
 */
public class JackalTest {
	private World world;
	private GuiJFrame islandFrame;

	private EnemyLogic enemyLogic1 = new EnemyLogic(EnemyLevel.LEVEL_EASY);
	private EnemyLogic enemyLogic2 = new EnemyLogic(EnemyLevel.LEVEL_HARD);

	/**
	 * В конструкторе сразу передаем мир и фрэйм с отсровом
	 * 
	 * @param world
	 * @param islandFrame
	 */
	JackalTest(World world, GuiJFrame islandFrame) {
		this.world = world;
		this.islandFrame = islandFrame;
	}

	java.util.Timer timer1 = new java.util.Timer();
	TimerTask task = new TimerTask() {
		public void run() {
			enemyLogic1.move(world.gamer1, world);
			islandFrame.displayAllObjects(world);

			try {
				Thread.sleep(100);
			} catch (Exception e) {
			}

			enemyLogic2.move(world.gamer2, world);
			islandFrame.displayAllObjects(world);

			try {
				Thread.sleep(100);
			} catch (Exception e) {
			}

			isGameOver(world);
			// jButton2ActionPerformed(null);
		}
	};

	private boolean isGameOver(World world) {
		if (world.isGameOver()) {
			if (world.gamer1.boat.moneyCount > world.gamer2.boat.moneyCount) {
				JOptionPane.showMessageDialog(null,
						"Поздравляем! Вы победили! Со счетом "
								+ world.gamer1.boat.moneyCount + ":"
								+ world.gamer2.boat.moneyCount, "ПОБЕДА", 1);
			} else if (world.gamer1.boat.moneyCount < world.gamer2.boat.moneyCount) {
				JOptionPane.showMessageDialog(null,
						"Вот незадача, противник опередил вас! Счет игры "
								+ world.gamer1.boat.moneyCount + ":"
								+ world.gamer2.boat.moneyCount, "Проигрыш", 0);
			}

			// System.out.println("Игра завершена");
			return true;
		}

		// islandFrame.setTitle("Счёт: золота у вас "+world.gamer1.boat.moneyCount+", у противника "+world.gamer2.boat.moneyCount);
		return false;
	}

	public void dummyVersusDummy() {
		timer1.scheduleAtFixedRate(task, 10, 10);
	}
}
